package com.sumainfor.zuul.service;


import com.baomidou.mybatisplus.service.IService;
import com.sumainfor.common.util.JsonResult;
import com.sumainfor.zuul.entity.DeptMenu;
import com.sumainfor.zuul.entity.SysDeptEntity;
import com.sumainfor.zuul.util.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * 部门管理
 */
public interface SysDeptService extends IService<SysDeptEntity> {

	List<SysDeptEntity> queryList(Map<String, Object> map);

	/**
	 * 查询子部门ID列表
	 * @param parentId  上级部门ID
	 */
	List<Integer> queryDetpIdList(Integer parentId);

	/**
	 * 获取子部门ID，用于数据过滤
	 */
	List<Integer> getSubDeptIdList(Integer deptId);

	/**
	 * 分页查询
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @author zhlu
	* @date 2018年9月20日
	 */
	PageUtils queryPage(Map<String, Object> params);

	List<Map<String, Object>> getDetpList(Map<String, Object> params);

	List<DeptMenu> findTree(Boolean isShowTop,String areaId);

	Map<String, Object> getDetpMap(Map<String, Object> params);

	boolean createDept(SysDeptEntity deptEntity);

    boolean updateDept(SysDeptEntity dept);

    JsonResult deleteDeptById(List<Integer> ids);

    List<SysDeptEntity> getChildDeptByParentId(Integer id);

    SysDeptEntity getDeptParentByDeptId(Integer id);

	/**
	 * 功能描述:
	 * 获取所有的服务中心
	 * @Author zhlu
	 * @Description //TODO
	 * @Date 2019/5/9 17:56
	 */
    List<Map<String,Object>>getServiceDeptList();

}
